package com.example.democrud.democurd.service;

import com.example.democrud.democurd.pojo.userdemo;
import com.example.democrud.democurd.usermapper.DaoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class UserServiceImpl implements UserService {

    //@Autowired   使用aut ...装备坏报错故推荐这个
   // @Autowired
    @Resource
    private DaoMapper daoMappers;


    /**
     * @Autowired是一种注解，可以对成员变量、方法和构造函数进行标注，来完成自动装配的工作，
     * @Autowired标注可以放在成员变量上，也可以放在成员变量的set方法上，也可以放在任意方法上表示，
     * 自动执行当前方法，如果方法有参数，会在IOC容器中自动寻找同类型参数为其传值。
     */

    /**
     * @Override这个标签有什么用呢。。。。。。
     * 其实我也是比较迷茫，查了一下，三个作用吧
     * 1. 可以给你当作注释用，感觉这个也不能说明什么，注释也没什么用。
     * 2. 可以告诉读你代码的人，这是对它父类方法的重写，其实很多代码规范没有为什么，规范就是规范，
     * 代码的可读性还是很重要的。
     * 3. 编译器可以给你验证@Override下面的方法名称是否是你父类中所有的，如果没有就会报错。
     *
     * 比如当你想要在子类中重写父类的一个方法，但是你把名字打错了，当你写了@Override编译器会提示你，
     * 你写的这个方法父类中没有；但是如果你没有写@Override编译器就会觉得这个是你子类中写的新的方法，
     * 并不会报错，到时候你debug还是很麻烦的一件事。
     *
     * @return
     */
    @Override
    public List<userdemo> findall() {
        return  daoMappers.findall();
    }

    @Override
    public List<userdemo> findid(int id) {
        return daoMappers.findid(id);
    }

    @Override
    public List<userdemo> findlike(String like) {
        return daoMappers.findlike(like);
    }

    @Override
    public int delectAll() {
        return daoMappers.delectAll();
    }

    @Override
    public int delectId(int id) {
        return daoMappers.delectId(id);
    }

    @Override
    public int addOnce(List<userdemo> userdemos) {
        return daoMappers.addOnce(userdemos);
    }

    @Override
    public int updateid(userdemo userdemo) {
        return daoMappers.updateid(userdemo);
    }


}
